package cn.tedu._03vehicle.base.interceptors;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.servlet.HandlerInterceptor;

import java.time.LocalTime;

//只能在6：到23：00之间访问
@Slf4j
public class TimeAccessInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        log.debug("进入限定时间的拦截器");
        /**
         * 1获取当前时间  小时
         * 2判断是否在时间段内
         * 3.1放行（返回true）
         * 3.2不在有两种选择
         * ①抛出异常 全局异常处理器处理
         * ②创建error.htmly 页面，返回error.html 最后返回false
         */
        /**
         * 方案一
         */
        LocalTime now=LocalTime.now();
        int hour=now.getHour();
        if(hour<6 || hour>22){
//            方案一：
//            throw new RuntimeException("非常抱歉 只能在6：00到23：00之间进行访问");
            //方案二 http://localhost:8080/error.html
            response.sendRedirect("/error.html");
            return false;


        }
        return true;
    }
}
